home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 3 / Info_Mac_1994-01.iso / Communications / Networks / MailCheck 0.9x / cdev src / mmc_print_state.c < prev    next >
Text File  |  1990-08-01  |  1KB  |  55 lines

  1. /*
  2.  * print a state for debugging to stdout
  3.  * by Aaron Wohl (aw0g+@andrew.cmu.edu) jul 1990
  4.  * Carnegie-Mellon University
  5.  * Special Projects
  6.  * Pittsburgh, PA 15213-3890
  7.  * (412)-268-5032
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include "mmc_core.h"
  12. #include "mmc_print_state.h"
  13.  
  14. static char *fnames[]={
  15.     "error",
  16.     "are_open",
  17.     "want_open",
  18.     "have_mail",
  19.     "u0",
  20.     "u1",
  21.     "really_want",
  22.     "connected",
  23.     "iopend",
  24.     "debug",
  25.     0
  26. };
  27.  
  28. LDEF(print_flags(long aflag))
  29. {
  30.   char *sep="";
  31.   long i;
  32.   char **scan=fnames;
  33.   for(i=1;(*scan)!=0;i<<=1,scan++)
  34.     if((i&aflag)!=0) {
  35.       printf("%s%s",sep,*scan);
  36.       sep=", ";
  37.   }
  38. }
  39.  
  40. void mmc_print_state(mmc_state_pt s)
  41. {
  42.   printf("mver=%d minver=%d remind=%ld\n",
  43.     s->mmc_st_maj_ver, 
  44.     s->mmc_st_min_ver,
  45.     s->mmc_remind_time);
  46.   printf("uname=%s\n",
  47.       s->mmc_uname);
  48.   printf(" errkind=%d lsys=%d cnum=%lx\nflags:",
  49.     s->mmc_last_err_kind,
  50.     s->mmc_last_err_syserr,
  51.     s->mmc_check_num);
  52.   print_flags(s->mmc_st);
  53.   printf("\ntstate='%s'\n",s->mmc_text_state);
  54. }
  55.